Method of controlling air-fuel ratio

ABSTRACT

A novel method of controlling air-fuel ratio for an internal combustion engine is disclosed, which comprises a memory area for holding regional compensation factors used for air-fuel ratio control, a memory area for holding new regional compensation factors obtained by learning, and a memory area for holding regional compensation factors based on the result of the learning immediately before the latest learning, thus rationalizing the new setting and updating proceses of regional compensation factors according to the result of learning.

This is a division of application Ser. No. 672,591, filed Nov. 19, 1984now U.S. Pat. No. 4,703,430.

BACKGROUND OF THE INVENTION

The present invention relates to an electronic fuel supply controlmethod for an automotive engine, or more in particular to a controlsystem equipped with a learning function capable of control underoptimum control parameters.

In an internal combustion engine such as a gasoline engine (hereinafterreferred to as "the engine"), it is necessary to maintain the amount offuel supply at a predetermined ratio to the intake, air thereby to keepthe air-fuel ratio (A/F) at the right level.

Conventionally, a predetermined air-fuel ratio is obtained by measuringthe amount of intake air and by controlling the amount of fuel supplyaccordingly. However, with this method, satisfactory control isimpossible when emission control is taken into consideration.

The trend has thus changed toward the use of an oxygen sensor withzirconia by which the condition of the exhaust gas is detected and theamount of fuel supply is controlled by feedback in what is called theoxygen feedback control system.

In the oxygen feedback control system, a basic fuel supply amount basedon the fuel supply amount determined by the above-mentioned amount orflow rate of intake air is compensated for by feedback in a manner toconverge the output air-fuel ratio to a predetermined value. As aresult, it is possible to drive an automobile always at a predeterminedair-fuel ratio even in the case where the air-fuel ratio could nototherwise be kept correctly by controlling the basic fuel supply amountalone.

An example of the engine control system equipped with such an oxygenfeedback control device is shown in FIG. 1.

In FIG. 1, reference numeral 1 designates an electronic control systemincluding a microcomputer system, numeral 2 an engine, numeral 3 anoxygen sensor mounted on the exhaust manifold of the engine to determinethe output air-fuel ratio from the oxygen concentration of the exhaust,and numeral 4 an injector mounted on the engine intake manifold toinject the fuel.

The electronic control device 1 determines the engine operatingconditions in response to the engine intake air flow rate Qa, the enginespeed N, the temperature of the cooling water and the battery voltagesupplied from sensors not shown, and drives the injector 4 to inject thefuel after further correcting the operating conditions with a signalfrom the oxygen sensor 3.

The fuel is injected from the injector 4 by periodic interruption insynchronism with the engine revolutions, and therefore, the fuel supplyamount is controlled by controlling the fuel injection time of eachinjection of the injector 4. The injection time Ti is given as

    Ti=K·Tp·α·ΣKi       (1)

    Tp=Qa/N                                                    (2)

where

K: A factor determined by injector

Tp: Basic fuel injection time

α: Air-fuel ratio control factor

Ki: Various compensation factors

Qa: Intake air flow rate

N: Engine speed (revolutional speed)

As apparent from this equation, the basic fuel injection time Tp isdetermined by the engine operating conditions, and therefore, it makesup a basic supply amount. In the oxygen feed back method, the controlfactor αis changed so that the output of the oxygen sensor 3 alternatesbetween rich and lean states to keep the mean output air-fuel ratio at apredetermined value, that is, a stoichiometric air-fuel ratio(A/F=14.7).

If the basic injection time Tp is kept at the ideal state, the controlfactor α pulsates up and down around the level 1.0 and the mean valuethereof is 1.0. If the air-fuel ratio based on the basic injection timeTp has changed to the lean side, on the other hand, the control factor αpulsates around 1.1 in an attempt to correct the situation, while if theair-fuel ratio became 10% richer, the factor α reciprocates around thelevel of about 0.9. In each case, the system works to make the outputair-fuel ratio an ideal value, and even when the air-fuel ratio given bythe basic fuel injection time Tp is displaced from the ideal state, theoutput airfuel ratio is always kept ideal to prevent the exhaust gasfrom deteriorating.

In application of this oxygen feedback control method, the responsespeed thereof has its own practical limit. In the event that theair-fuel ratio based on the basic supply amount undergoes a suddenchange, the control operation fails to follow a sudden change of theair-fuel ratio, with the result that the mean value of the outputair-fuel ratio deviates from the stoichiometric air-fuel ratio duringthe transient period before the mean value is converged to apredetermined value, thus deteriorating the exhaust gas. Such a suddenchange in the air-fuel ratio based on the basic fuel supply amount isoften caused in such cases as when the engine transfers from abruptacceleration to an engine braked state.

In order to obviate this problem of the oxygen feedback control system,a control method has been suggested and found applications, in which theengine operating conditions are divided into a plurality of regionsaccording to the engine speed or intake air flow rate, and acompensation factor is predetermined for the basic fuel supply amountfor each operating region, so that the basic fuel supply amount iscorrected by the compensation factor for each engine operating region,thereby keeping the amount of oxygen feedback control substantiallyunchanged as required against the stoichiometric air-fuel ratio evenwhen the engine operating conditions undergo a change.

In this method, the injection time Ti of the injector 4 is determined bythe equation below.

    Ti=K·Tp·α·Kr·ΣKi (3)

where Kr is a regional compensation factor.

This method is such that the range of engine speed change and the rangeof intake air amount change are divided into, say, ten partsrespectively, and a total of 100 operating regions are determined byvarious combinations of the divisions. A regional compensation factor Kris determined in such a manner as to obtain a stoichiometric air-fuelratio (=14.7) when the control factor α is 1.0, that is, when the oxygenfeedback control is lacking, for each operating region. The compensationfactors thus determined are stored in a memory such as a ROM and areread from time to time during engine operation to calculate theinjection time Ti. In this way, it is possible to keep the mean value ofthe control factor α substantially at 1.0 to achieve the stoichiometricairfuel ratio and thus the transient deterioration of the exhaust gaswhich otherwise would occur due to the delayed response of the oxygenfeedback control is prevented in any operating region to which theengine operating conditions may change.

The engine control characteristics greatly vary from one engine toanother by characteristic variations of the engine or various sensors oractuators used for control thereof.

For this reason, it is substantially useless if a compensation factor Krrequired in the regional compensation system which is determined for astandard engine is applied to all other engines. A regional compensationfactor Kr must instead be determined independently for each engine and aROM exclusive to the particular engine is required to store the data.This is, however, impossible to implement as it leads to a lowerproductivity and increased cost.

The characteristics of the engine, sensors and actuators, on the otherhand, are subject to secular variations due to aging, and therefore, thesetting of a regional compensation factor during the production processwill often become almost meaningless after the lapse of some period ofuse of the engine.

In view of this, a learning control system has recently been developed.In this system, a non-volatile memory in which data can be written orrewritten is used to store the regional compensation factor Kr, which issequentially written for each operating region by a "learning" processduring engine operation, so that an accurate regional compensationfactor Kr is always provide for air-fuel control on the basis of thelatest operating results. The basic concept of such a learning controlsystem is disclosed in the Japanese Patents Laid-Open Nos. 20231/79 and57029/79.

The learning control system eliminates the need of determining aregional compensation factor beforehand, and in case of any change inengine characteristics, etc., enables the regional compensation factorto be corrected by itself from time to time, so that correct control isalways possible to prevent the deterioration of the exhaust gas underall operating conditions including the transient period.

In practice, however, this control system fails to produce a sufficienteffect, since the engine operations are concentrated in a part of theregions with most of the regional compensation factors left uncorrected.

SUMMARY OF THE INVENTION

Accordingly, the object of the present invention is to provide anair-fuel control system in which the compensation factors can becorrected by a comparatively simple method over wide regions to fullydisplay the effect of the learning control.

In order to achieve this object, there is provided according to thepresent invention a method of air-fuel control comprising a memory areafor holding regional compensation factors used for air-fuel ratiocontrol, a memory area for holding new regional compensation factorsobtained by a learning process, and a memory area for holding regionalcompensation factors based on the result of the learning operationoccurring immediately before the storage of the result of the latestlearning operation, thereby rationalizing the processes of setting andupdating the regional compensation factors according to the result ofthe learning.

According to another aspect of the present invention, it is decidedwhether or not a regional compensation factor is properly corrected, andany compensation factor that has not been so corrected is corrected onthe basis of a corrected compensation factor, with the result that evena regional compensation factor for a region where engine operation isnot frequent is corrected, thus improving the control accuracy by fulldisplay of the learning effect.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be apparent from the following detaileddescription taken in conjunction with the accompanying drawings, inwhich:

FIG. 1 is a schematic diagram showing an example of an engine controlsystem of air-fuel ratio feedback control type;

FIG. 2 is a diagram for explaining the operation of an embodiment of thepresent invention;

FIG. 3 is a diagram showing an embodiment of the steady-state learningmap used in the present invention;

FIG. 4 is a diagram showing the concept of a map combination accordingto the present invention;

FIG. 5 is a diagram for explaining the map-drawing operation accordingto the present invention;

FIGS. 6 and 7 are flowcharts indicating map-drawing processes;

FIG. 8 is a diagram for explaining the operation of another embodimentof the present invention;

FIG. 9 is a flowchart for explaining the operation of the sameembodiment;

FIGS. 10A and 10B are diagrams for explaining the operation of stillanother embodiment of the present invention;

FIGS. 11 and 12 are diagrams showing the map concept of the sameembodiment;

FIG. 13 is a flowchart for explaining the operation of the sameembodiment;

FIG. 14 is a diagram for explaining the transient learning operationaccording to an embodiment of the present invention;

FIG. 15 is a flowchart representing the control operation using a shiftfactor according to another embodiment of the present invention;

FIG. 16 is a flowchart representing the learning operation using a shiftfactor according to an embodiment of the present invention;

FIG. 17 is a schematic diagram showing a construction of an electronicengine control system; and

FIG. 18 is a block diagram showing an example of a control circuit.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

An air-fuel ratio control method according to the present invention willbe explained in detail below with reference to the embodiments shown inthe accompanying drawings.

The hardware construction and the general operation of the fuelinjection control of an embodiment of the present invention issubstantially the same as those of the prior art system explained withreference to FIG. 1. The embodiment, however, is different from theprior art in part of a specific control system, and also in part of thecontrol operation of a microcomputer system incorporated in theelectronic control system 1 shown in FIG. 1.

The present embodiment will be explained below with emphasis placed onthese differences.

In the description that follows, a regional compensation factor Kr willbe expressed as Kl (hereinafter referred to as the learning factor) inorder to stress the fact that the factor Kr is obtained as a result oflearning compensation.

In this embodiment, therefore, the injection time Ti of the injector 4is expressed by equation (4) below instead of by equation (3).

    Ti=K·Tp·αKl·ΣKi     (4)

Let the output signal of the oxygen sensor 3 be λ. This signal λ isproduced in digital form (taking a high-level or low-level value alone)according to the presence or absence of oxygen in the exhaust gas. Inorder to permit an air-fuel ratio control on the basis of the digitalsignal, the output signal λ of the oxygen sensor 3 is checked, and thecontrol factor α is changed stepwise upward or downward each time theoutput signal λ changes from high (air-fuel ratio on rich side) to lowlevel (air-fuel ratio on lean side) or from low level to high level,followed by gradual increase or decrease thereof.

The manner of change in the control factor α according to the rich orlean state of the signal λ is shown in FIG. 2.

An extreme value of the control factor α which appears at the time ofreversal of the output signal λ of the oxygen sensor 3 is checked, sothat the extreme value obtained at the time of change from lean to richstate of air-fuel mixture gas is assumed to be α_(max), and the extremevalue obtained at the time of change from rich to lean state is assumedto be o_(min). From these values, the average value α_(ave) of thefactor α is obtained by the equation below. ##EQU1##

The concept of the average value α_(ave) is well known by the JapanesePatent Laid-Open No. 26229/82, for example.

In an embodiment of the present invention, an upper limit T.U.L and alower limit T.L.L of this average value a_(ave) are set as shown in FIG.2, and when the average value α_(ave) deviates from the range betweenT.U.L and T.L.L, the error between the average value α_(ave) and α=1.0is taken out and used as a learning factor Kl. The process of taking outthis learning factor Kl is performed in all engine operating regionssubjected to oxygen feedback control.

FIG. 3 shows an example of the memory map for writing the learningfactor Kl, in which the engine operating regions are determined by theengine speed N and the basic fuel injection time Tp, and each learningfactor Kl determined as above is stored therein according to eachoperating region.

The learning factor Kl is picked up only when and on condition that atleast n extreme values of the control factor α (n: a predetermined valuesuch as 5) have appeared continuously while the engine operatingconditions remain in the same operating region.

The map of FIG. 3, which is used to store the learning factor Kl usedfor controlling the fuel injection time Ti steadily according toequation (4), is defined as a steady-state learning map.

As seen from the map of FIG. 3, according to the present embodiment, thebasic fuel injection time Tp, which corresponds to engine load asapparent from equation (2), is divided into eight parts from 0 to Tp7,and the engine speed is also divided from 0 to N₇, so that a total of64(=8×8) dividing points are obtained and used as engine operatingregions. In this embodiment, the learning factors Kl are not directlywritten or corrected in the steady-state learning map but make use ofanother two maps including a buffer map and a comparison map as shown inFIG. 4 having the same regional configuration as the steady-statelearning map.

A routine for preparation of a steady-state learning map using aplurality of maps as above will be explained with reference to FIG. 5.

Initially, the steady-state learning map and the comparison map are bothcleared as shown in FIG. 5 (A). When the engine is operated under thiscondition and each time the value of the learning factor Kl isdetermined for each operating region, it is sequentially written in acorresponding area of the buffer map alone. The routine for determiningthe learning factor Kl in this process will be described later. In thiscase, the factor Kl in equation (4) is set to 1.0.

The number of the operating regions in which the learning factor Kl iswritten in the buffer map is increased as the engine continues to beoperated. The learning factors Kl for all the 64 operating regionsprovided in the map, however, cannot be determined easily by normalengine operation since the operating regions include sufficient marginsover actual engine operation.

When the number C of the operating regions where the learning factor Klis written in the buffer map under the condition of FIG. 5 (A) reaches apredetermined value l, therefore, the same data of number C written inthe buffer map is also written in the comparison map as shown in FIG. 5(B). The value l is smaller than the number 64 of the operating regionsprovided in these maps, and is set to the range from 20 to 30 in thiscase.

Next, as shown in FIG. 5 (C), with reference to the data in the numberof C written in the buffer map, predetermined learning factor Kl iswritten in all the operating regions to complete the whole buffer map.This state is expressed by D in the drawing. This data D is transferredto the steady-state learning map, followed by transfer to the buffer mapof the data C which has thus far been stored in the comparison map asshown in FIG. 5 (D).

As a result, all the regions of the steady-state learning map havestored therein the learning factor Kl, so that the fuel injection timeTi begins to be controlled according to equation (4) using the learningfactor Kl of the steady-state learning map at the time point when thecondition of FIG. 5 (D) is obtained. Up to this time, the calculation ofequation (4) is conducted with the constant 1.0 as the learning factorKl.

After the engine control has been entered with the steady-state learningmap in this manner, the learning factors Kl in the steady-state learningmap and the buffer map are corrected by a new factor as shown in FIG. 5(E) each time a new learning factor Kl is obtained by the learning in acorresponding operating region as shown in FIG. 2, thus changing thedata D and C to D' and C' respectively. Each time the correction is madeby the new factor (in the case of the buffer map, not only thecorrection but also the new writing in the operating regions that havenot thus far written with any learning factor), the control factor α istemporarily made 1.0, and the data C' written in the buffer map iscompared with the data C stored in the comparison map to check to seewhether or not the difference in the number of factors in respectiveregions reaches a predetermined number m. If it has reached the numberm, the data F of the buffer map of FIG. 5 (F) is transferred to thecomparison map as shown in FIG. 5 (B). Then, as shown in FIG. 5 (C), onthe basis of the value of the data in the regions already corrected, thefactors of all the regions are corrected and written in the steady-statelearning map. The routine of FIGS. 5 (B) to 5 (D) is repeated. In otherwords, FIG. 5 (F) indicates the processes from (B) to (D) sequentiallyconducted. The number m mentioned above is a predetermined value such as10 smaller than number l.

According to this embodiment, the air-fuel ratio can be controlled whilemaintaining the average value of the control factor α always near 1.0 bythe learning factor Kl, resulting in a high responsiveness to fullyprevent the exhaust gas from deteriorating during the transient state.In addition, the decision of the time point where the steady-statelearning map is to be rewritten by learning is very rationally made bycomparison between the buffer map and the comparison map, so that thelearning becomes possible accurately meeting the variation of thecharacteristics of the parts due to aging, thus keeping the exhaust gascharacteristic uniform over a long period of time.

According to the present embodiment, in the regions of the steady-statelearning map shown in FIG. 3 where the basic fuel injection time Tp isTp7 or more and the engine speed N is N₇ or more, the learning factor Klin the regions in the column to the extreme right in the lowest line ofthe map is used for control, and therefore an optimum power correctionis automatically effected all the time even when the engine operatingconditions enter the power running area.

Now, an embodiment of the learning routine of the learning factor Kl andthe routine for executing the process shown in FIG. 5 will be explainedwith reference to the flowcharts of FIGS. 6 and 7.

The process according to these flowcharts is repeated at regularintervals of time such as 40 msec after engine start. First, in FIG. 6,step 300 decides whether or not the oxygen feedback control has beenstarted, and if the result is "Yes", the process is passed to step 302.If the answer is "No", by contrast, the process proceeds to step 332. Atstep 302, whether or not the signal of the oxygen sensor has crossed thelevel of λ=1 (air-fuel ratio A/F of 14.7). If the answer is "No", theprocess is passed to step 332 where the well-known integrating processis performed (the process for determining the change in the incrementingand decrementing portions of the control factor α). If the result is"Yes", the process is passed to step 304, where the average valueα_(ave) shown in equation (3) is calculated. Step 306 decides whether ornot the average value α_(ave) is included in the range between upper andlower limits shown in FIG. 2, and if it is included, it indicates thatnormal feedback control is effected so that the counter is cleared atstep 326 and the process is passed to step 332.

If the average value α_(ave) is not included in the range between upperand lower limits, by contrast, the error between the average valueα_(ave) and unity is determined as a learning compensation amount Kl atstep 308. Then, step 310 calculates the present operating regiondetermined from the basic fuel injection time Tp and the engine speed Nshown in FIG. 3, followed by step 312 where it is compared with theimmediately preceding operating region of the routine to decide whetheror not the operating region has undergone a change. If it is found thatthe operating region has changed, that is, when the answer is "Yes", anoperating region is not determined where the learning compensationamount Kl is to be written, and therefore the process is passed to step326. If the operating region remains unchanged, on the other hand, thecounter is counted up at step 314, followed by step 316 to decidewhether or not the counter has reached n. If the count is not n, thatis, when the answer is "No", the process proceeds to step 332. If thecount is found to have reached n, by contrast, that is, when the answeris "Yes", step 318 clears the counter, and the process is passed to step320.

Step 320 decides whether or not the first steady-state learning map hasbeen prepared by the operation from (B) to (D) in FIG. 5. If the map isnot yet prepared, the process proceeds to step 322 and so on to performthe operation of (A) explained with reference to FIG. 5. Step 322decides whether or not the factor Kl has already been written in theoperating region involved. If it is already written, that is, when theanswer is "Yes", the process is passed to step 332 without any furtherprocess. If the result is "No", on the other hand, step 324 writes thelearning compensation amount Kl calculated at step 308 in the operatingregion involved. If it is found that the first steady-state learning maphas been prepared, or the answer is "Yes" at step 320, then the processis passed to step 328 and so on to perform the operation of (E) and (F)explained with reference to FIG. 5. Step 328 adds the learningcompensation amount Kl to the dividing point of the steady-statelearning map and the buffer map, followed by step 330 where the air-fuelratio compensation factor is made 1.0.

By repeating the processes according to steps 300 to 332, the operations(A), (E) and (F) described with reference to FIG. 5 are performed.

Now, the operations of (B), (C) and (D) explained with reference to FIG.5 will be described with reference to the flowchart of FIG. 7.

Step 350 decides whether or not the first steady-state learning map hasbeen prepared and if it has not yet been prepared, that is, when theanswer is "No", the process is passed to step 354 to check the number ofregions written of the buffer map. If the number has reached l, theprocess is passed to step 356, while the process proceeds to step 370 inthe opposite case. If the first steady-state learning map is found tohave been prepared that is, when the answer is "Yes" at step 350, step352 checks the difference between the data on the buffer map and thecomparison map. If there is a difference of m between the data betweenbuffer map and comparison map, the process proceeds to step 356 toprepare a steady-state learning map. If the data difference is less thanm, by contrast, the process is passed to step 370.

At step 356, the flag in the process of preparing a map is set toprohibit the writing of the learning result. Step 358 transfers the datain the buffer map to the comparison map, followed by step 360 where thesteady state map is prepared by use of the buffer map. Step 362transfers the data of the buffer map thus prepared to the steady-statelearning map, followed by step 364 where the data of the comparison mapis transferred to the buffer map. Step 366 sets the flag meaning thatthe steady-state learning map has been prepared. This flag is used fordecision at step 350 and step 320 in FIG. 6. Step 368 resets the flagindicating the process of map preparation set at step 356.

The operation of another embodiment of the present invention is shown inFIG. 8. The difference of this embodiment from that of FIG. 2 in that alearning factor is calculated when the instantaneous value, but not theaverage value, of the air-fuel ratio control factor α has exceeded theupper limit (T.U.L) or lower limit (T.L.L). The excess Kl' of thecontrol factor α above T.U.L or the excess thereof Kl" below T.L.L isexpressed as Δα, which is considered a learning factor Kl. This processis conducted as shown in the flowchart of FIG. 9.

In the embodiments described above, all the learning factors Kl writtenin the steady-state learning map are not more than those that can be sowritten. When the change in the characteristic of the parts increased toa certain degree, however, the learning factor Kl for correcting themalso increases and may exceed a critical value that can be written. Inview of this, it is possible to take such a measure that when even oneof the learning factors Kl has exceeded the critical value, a certainnumber is added to or reduced from all the regions of the map, so thatthe average value for the whole map approaches 1.0 while the number soadded or reduced is included in the factor K of equation (4). In thisway, the values for the whole map can be shifted, whereby a largesecular variation can be fully absorbed for sufficient compensation.

Now, another embodiment of the present invention will be explained withreference to FIGS. 10 to 13.

In this embodiment, an independent compensation factor in addition tothe learning factor Kl is used in a large transient control conditionswith the engine accelerated or decelerated. First, as shown in FIG. 10A,the transient condition of the engine such as when it is accelerated ordecelerated is known by the change rate ΔTp per unit time of the basicfuel injection time Tp. During this acceleration period t₁ ordeceleration period t₂, the air-fuel ratio control factor α takes anextreme value a or b as shown in FIG. 10B.

When this extreme value a or b exceeds a predetermined upper limit(K.U.L) or reduced below a predetermined lower limit (K.L.L), the errorKacc or Kdec between such a limit and the actual value of a or b, as thecase may be, is determined, and is regarded as an acceleration learningcompensation amount Kacc or the deceleration learning compensationamount Kdec respectively. They are then written at correspondingoperating regions of an acceleration learning map (FIG. 11) and adeceleration learning map (FIG. 12) in which the change rate ΔTp of thebasic fuel injection time Tp is plotted along the abscissa, and theengine speed N is plotted along the ordinate as in the abovesteady-state learning map.

At the same time, according to this embodiment, the injection time Ti ofthe injector 3 is calculated and controlled by the equation below.

    Ti=K·Tp·α·(Kl+Kt)·ΣKi (5')

where Kt is a transient learning factor which is represented by theacceleration learning compensation amount Kacc read out of thecorresponding operating region of the acceleration learning map when thetransient condition involves acceleration, and by the decelerationlearning compensation amount Kdec read out of the correspondingoperating region of the deceleration learning map when the transientcondition concerns deceleration.

According to the embodiment under consideration, therefore, when theengine operating condition is undergoing a comparatively slow change, anappropriate control is effected for each operating region by thelearning factor Kl read from the corresponding operating region of thesteady-state learning map as in the embodiment described with referenceto up to FIG. 9, while when the engine enters a transient state, thecontrol by the learning factor Kl is added, and depending on thetransient condition, a more detailed control is effected by theacceleration learning compensation amount Kacc or the decelerationlearning compensation amount Kdec read out of the transient operatingregions of the acceleration learning map or the deceleration learningmap respectively. Under any operating condition, it is thus possible toperform proper air-fuel ratio control, thus keeping the exhaust gasalways in the best condition.

Now, an example of the learning routine of the acceleration learningcompensation amount Kacc and the deceleration learning compensationamount Kdec in this embodiment will be explained below with reference tothe flowchart of FIG. 13.

Step 400 decides whether or not the engine is under oxygen feedbackcontrol. If not, the process is passed to step 424. If the engine isunder oxygen feedback control, on the other hand, the process proceedsto the step 402 to check to see whether or not the output of the oxygensensor has reversed. If it has just reversed, the process is passed tostep 404. If not, by contrast, step 424 is followed. Step 404 checks theacceleration or deceleration. For checking the acceleration ordeceleration, a method is to determine the change of the basic fuelinjection time Tp during a certain period of time. If the accelerationor deceleration is not involved, the process is passed to step 424. Ifthe opposite is the case, the process proceeds to step 406.

Step 406 decides whether or not a steady-state learning map is createdand is used, and if it is not yet created, the process is passed to step424. If the steady-state learning map is usable, by contrast, theprocess proceeds to step 408. Step 408 decides whether or not theair-fuel ratio control factor α is included in the range between theupper and lower limits indicated in FIG. 10B. If it is included in therange, the process is passed to step 424. If the answer is "No", on theother hand, step 410 is followed. Step 410 decides whether the air-fuelratio control factor α is larger than the upper limit (K.U.L), and ifso, the process is passed to step 412, while if not, the processproceeds to step 414, to calculated the learning compensation amount Δαfor acceleration or deceleration respectively. The next step 416calculates an operating region from the engine speed N and the basicfuel injection time change range ΔTp at the time point of accelerationor deceleration detection. Step 418 decides whether an acceleration ordeceleration is involved at the time of detection of acceleration ordeceleration respectively, and if an acceleration is involved, step 420adds the acceleration learning compensation amount Δα to theacceleration learning map, while if a deceleration is involved, thedeceleration learning compensation amount Δα is added to thedeceleration learning map at step 422.

The acceleration or deceleration learning compensation amount is notlimited to Kacc or Kdec as shown in FIG. 10B. Instead, if it is taken asan error from 1.0, division into steps 412 and 414 is not necessary, butthe equation below may be used to obtain the learning compensationamount.

    Δα=α-1                                   (6)

The change rate ΔTp of the basic fuel injection time may also bereplaced with the change in intake negative pressure or change inthrottle opening, or change in the intake air flow rate. In this case,it is apparent to incorporate the engine speed and intake negativepressure for learning map (FIGS. 11 and 12) of the acceleration anddeceleration.

As explained above, according to the present invention, the learningfactor can be calculated, and the map storing it can be rationallycreated and corrected, so that the advantage of the learning controlsystem is fully utilized. As a result, even when the characteristics ofthe various actuators and sensor necessary for the air-fuel ratiocontrol are subjected to variations, secular or otherwise, the operatingconditions are always capable of being corrected automatically therebyto keep the exhaust gas in satisfactory condition.

Further, according to the present invention, the correction by thesteady-state learning map is effected even in the power region where theair-fuel ratio feedback control is not effected, and therefore it ispossible to prevent the effect of the characteristics or secularvariations of the actuators and sensors thereby to permit an optimumpower correction even in the power region.

FIG. 14 shows the relation between the basic fuel injection time andvarious corrections according to the embodiment under consideration.Character A designates a steady-state learning region, B an accelerationlearning region, and C a deceleration learning region. Character Ddesignates a region which is effected by the shift factor Ks given byequation (6) below.

According to an embodiment of the present invention, the fuel injectiontime Ti is determined as shown below.

    Ti=α·Tp·(Kl+Kt-Ks)·(1+ΣKi) (7)

    Tp=k·Q.sub.A /N                                   (8)

where

k: A factor determined by the injector

Tp: A basic fuel injection time

α: Air-fuel ratio compensation factor

Kl: Steady-state learning factor

Kt: Transient learning factor

Ki: Various compensation factors

Ks: Shift factor

Q_(A) : Intake air flow rate

N: Engine speed

Specifically, the basic fuel injection time Tp is determined accordingto equation (2) from the engine intake air flow rate Q_(A) and theengine speed N thereby to obtain a rough stoichiometric air-fuel ratio(A/F=14.7), and then the air-fuel ratio is corrected by feedback bychanging the air-fuel ratio compensation factor α according to thesignal λ of the oxygen sensor 142 thereby to obtain a more accuratestoichiometric air-fuel ratio. In addition, the steady-state learningfactor Kl is used to compensate for the characteristics and secularvariations of the various actuators and sensors used for the air-fuelratio control. This compensation is further supplemented by thecompensation due to the acceleration or deceleration, from which theshift factor is subtracted at the time of sudden deceleration thereby todetermine the fuel injection time Ti.

A flowchart relating to this shift factor Ks is shown in FIG. 15. Step600 checks to see whether or not the steady-state learning map has beencompleted by the map creation flag set at step 366 in FIG. 7. If the mapis complete, the process is passed to step 602, while if the map isincomplete, the process is advanced to step 616. The process is passedfrom step 602 to step 604 if the present basic fuel injection time isshorter than the basic fuel injection time for idle operation thereby tomake the air-fuel ratio compensation factor o unity. Step 606 checks theset state of the learn shift flag, and if it is found not set, step 608sets the time for shifting to lean state, followed by step 610 to setthe lean shift flag. Step 612 checks to see whether or not the time setat step 608 is reduced to zero, and if not, step 614 makes the leanshift work Ks. By so doing, the mixture becomes thinner by Ks during thelean shift period D when the basic fuel injection time is shorter thanthe idle basic fuel injection time (FIG. 14).

Step 616 resets the lean shift flag, followed by step 618 to reduce thelean shift work to zero. The updating of the lean shift time is made byseparate task (not shown).

According to the embodiment of FIG. 15, only when the basic fuelinjection time Tp is shorter than the idle basic fuel injection time(idle Tp), the shift factor Ks works thereby to further reduce theinjection time Ti by equation (1). As a result, the air-fuel ratio isprevented from being sharply reduced to rich state which otherwise mightbe caused by the fuel attached on the wall of the intake manifold beingabsorbed into the cylinder in great amount at the time of suddendeceleration, thereby keeping the obnoxious components of the exhaustgas within the specified limit.

The magnitude of the shift factor Ks may take a value proportional tothe change in the basic fuel injection time associated with suddendeceleration or the air-fuel ratio compensation factor.

In the case where the air-fuel ratio feedback control is employedwithout any learning control, it is possible to remove the obnoxiouscomponents of the exhaust gas even by setting a shift factor with theair-fuel ratio compensation factor fixed to the present value at thetime of sudden deceleration.

Instead of using the basic fuel injection time for deciding whether asudden deceleration is involved or not, the negative pressure value inthe intake manifold or throttle angle may be divided by the engine speedto make similar decision.

FIG. 16 is a flowchart for determining the shift factor Ks by thelearning during sudden deceleration. Steps 700 and 702 are the sameprocesses as steps 60 and 602 in FIG. 15 respectively. Step 704 checksthe setting of the lean shift flag, and if it is found not set, step 706sets the lean shift time, followed by step 708 to set the lean shiftflag. Step 710 checks to see whether the air-fuel ratio compensationfactor is included in the range between the upper and lower limits, andif it is found between them, the process is passed to step 718. If theair-fuel ratio compensation factor is not found out of the range betweenthe upper and lower limits, on the other hand, the process proceeds tostep 712. Then, if the air-fuel ratio compensation factor is more thanthe upper limit, step 714 is followed, while if it is below the lowerlimit thereof, the process is passed to step 716. Step 714 adds theerror of the air-fuel ratio compensation factor from 1.0 to the leanshift memory, while step 716 subtracts such an error from the lean shiftmemory and stores the result in the lean shift memory. If step 718 findsthat the lean shift time is not zero, step 720 stores the value of thelean shift memory calculated at steps 714 and 716 in the lean shiftwork. Step 722 resets the lean shift flag set at step 708, followed bystep 724 to reduce the lean shift work to zero.

In this way, the compensation can be effected by the shift factor Ksdetermined by the learning at the time of sudden deceleration.

For calculation of the fuel injection time, the lean shift work may bereferred to.

As a result, according to the present embodiment, in addition to aseries of steady-state learning and transient learning for air-fuelratio control, the compensation for sudden deceleration (compensation byuse of the shift factor Ks) is effected, so that the generation of anobnoxious component in spike form in the exhaust gas at the time ofabrupt deceleration is fully dampened on the one hand and the operatingconditions are always corrected automatically even against thecharacteristics or secular variations of the actuators or sensorsrequired for air-fuel ratio control on the other hand. As a result, notonly the obnoxious components are removed from the exhaust gas but alsothe variations, secular or not, of the sensors and actuators arecompensated for by the steady-state learning map even in the powerregion where air-fuel ratio is not controlled by feedback, thus easilyproviding an air-fuel ratio control system for an internal combustionengine which can effect optimum power compensation all the time.

Also, taking advantage of the fact that the dividing point of thesteady-state learning map remains unchanged, the number of reversals ofthe air-fuel ratio compensation factor are counted thereby to calculatethe steady-state learning compensation amount under stable condition,thus producing an accurate steady-state learning map.

After creation of the steady-state learning map, the change in theair-fuel ratio compensation factor α at the time of acceleration ordeceleration is used as a learning compensation amount with reference tothe transient learning map, so that it is possible to dampen thevariations in air-fuel ratio even under transient state to remove theobnoxious components, thus improving the drivability.

The construction of FIG. 1, which is well known, will be explainedspecifically with reference to FIGS. 17 and 18.

FIG. 17 is a partially cut-away sectional view of the whole of an enginecontrol system. In FIG. 17, the intake air is supplied through an aircleaner 2, a throttle chamber 4 and an intake manifold 6 into a cylinder8. The gas combusted in the cylinder 8 is exhausted therefrom through anexhaust manifold 10 into the atmosphere.

The throttle chamber 4 contains an injector 12 for injecting the fuel.The fuel injected from this injector 12 is atomized in the air path ofthe throttle chamber 4, and mixed with the intake air to make up amixture gas, which is supplied via the intake manifold 6 to thecombustion chamber of the cylinder 8 by the opening of the intake valve20.

A throttle valve 14 is mounted near the outlet of the injector 12, whichvalve 14 is so constructed as to be mechanically interlocked with theaccelerator pedal and driven by the driver.

An air path 22 is arranged upstream of the throttle valve 14 of thethrottle chamber 4, and contains a hot-wire air flowmeter, that is, aflow rate sensor 24 made of an electrical heat resistance wire to pickup an electrical signal AF changing with the air velocity. Since theflow rate sensor 24 made of a heat resistance wire (hot wire) isarranged in the air bypass 22, it is protected from the high temperaturegas generated at the time of back fire from the cylinder 8 on the onehand and from the contamination by the dust in the intake air on theother hand. The outlet of the air bypass 22 is opened to a point nearthe narrowest portion of the venturi, while the entrance thereof is openupstream of the venturi.

The injector 12 is supplied with the fuel pressurized through a fuelpump 32 from a fuel tank 30. Upon application of an injection signalfrom the control circuit 60 to the injector 12, the fuel is injectedinto the intake manifold 6 from the injector 12.

The mixture gas taken in by way of the intake valve 20 is compressed bythe piston 50, and burnt by a spark started on the spark plug (notshown). This combustion energy is converted into kinetic energy. Thecylinder 8 is cooled by the cooling water 54. The temperature of thecooling water is measured by water temperature sensor 56, and theresulting measurement TW is used as an engine temperature.

The exhaust manifold 10 has an oxygen sensor 142, which measures theoxygen in the exhaust gas and produces a measurement λ.

The crankshaft not shown carries a crank angle sensor for producing areference angle signal and a position signal respectively for eachreference crank angle and a predetermined angle (such as 0.5 degree) inaccordance with the rotation of the engine.

The output of the crank angle sensor, the output signal TW of the watertemperature sensor 56, the output signal λ of the oxygen sensor 142, andthe electrical signal AF from the hot wire 24 are applied to the controlcircuit 60 including a microcomputer and the like, an output of whichdrives the injector 12 and the ignition coil.

Further, a bypass 26 leading to the intake manifold 6 is arranged overthe throttle valve 14 in the throttle chamber 4, and includes a bypassvalve 61 controlled to open and close.

This bypass valve 61 faces the bypass 26 arrange around the throttlevalve 14 and is operated by a pulse current to change the sectional areaof the bypass 26 by the lift thereof. This lift drives and controls adrive unit in response to the output of the control circuit 60.Specifically, the control circuit 60 produces a periodical operationsignal for controlling the drive unit, so that the drive unit adjuststhe lift of the bypass valve 61 in response to this periodical operationsignal.

An EGR control valve 90 is for controlling the path between the exhaustmanifold 10 and the intake manifold 6 and thus to control the amount ofEGR from the exhaust manifold 10 to the intake manifold 6.

In this way, the injector 12 of FIG. 1 is controlled thereby to regulatethe air-fuel ratio and the fuel increment, while the engine speed iscontrolled in idle state (ISC) by the bypass valve 61 and the injector12, to which is added to EGR amount control.

FIG. 18 shows the whole configuration of the control circuit 60 using amicrocomputer, including a central processing unit 102 (CPU), a readonly memory 104 (ROM), a random access memory 106 (RAM), and aninput/output circuit 108. The CPU 102 computes the input data from theinput/output circuit 108 by various programs stored in ROM 104, andreturns the result of computation to the input/output circuit 108. RAM106 is used as an intermediate storage necessary for the computation.Exchange of data between CPU 102, ROM 104, RAM 106 and the input/outputcircuit 108 is effected through a bus line 110 including a data bus, acontrol bus and an address bus.

The input/output circuit 108 includes input means such as a firstanalog-digital converter 122 (hereinafter called ADC1), a secondanalog-digital converter (hereinafter called ADC2) 124, an angularsignal processing circuit 126 and a discrete input/output circuit(hereinafter called DIO) 128 for inputting and outputting a 1-bit data.

ADCl includes a multiplexer (hereinafter called MPX) 162 supplied withoutputs from a battery voltage sensor (hereinafter called VBS) 132, acooling water temperature sensor (hereinafter called TWS) 56, anatmospheric temperature sensor (hereinafter called TAS) 136, aregulation voltage generator (hereinafter called VRS) 138, a throttlesensor (hereinafter called OTHS) 140 and an oxygen sensor (hereinaftercalled O₂ S), 142. MPX 162 selects one of the inputs and applies it toan analog-digital converter circuit (hereinafter called ADC) 164. Adigital output of the ADC 164 is held in a register (hereinafter calledREG) 166.

The output of a flow rate sensor (hereinafter called AFS) 24, on theother hand, is applied to ADC2 124, and converted into a digital valuethrough an analog-digital converter circuit (hereinafter called ADC) 172and is set in a register (hereinafter called REG) 174.

An angle sensor (hereinafter called ANGLS) 146 produces a signalrepresenting a reference crank angle such as 180 degree (hereinaftercalled REF) and a signal representing a small angle such as 1 degree(hereinafter POS) and applies them to an angular signal processingcircuit 126 for waveform shaping.

DIO 128 is supplied with signals from an idle switch 148 (hereinaftercalled IDLE-SW) which operate when the throttle valve 14 is returned tothe full-closed position, a top gear switch (hereinafter called TOP-SW)150 and a starter switch (hereinafter called START-SW) 152.

Now, a circuit for producing a pulse based on the result of computationof CPU and objects of control will be explained. An injector controlcircuit (hereinafter called INJC) 1134 is for converting a digitalcomputation result into a pulse output. A pulse INJ having a durationcorresponding to the fuel injection amount is produced by INJC 1134 andapplied through an AND gate 1136 to the injector 12.

An ignition pulse generator circuit (hereinafter called IGNC) 1138includes a register (hereinafter called ADV) for setting an ignitiontiming and a register (hereinafter called DWL) for setting an ignitioncoil primary current start timing. These data are set by CPU. The pulseIGN is generated on the basis of the data thus set, and is appliedthrough an AND gate 1140 to an amplifier 62 for supplying a primarycurrent to the ignition coil.

The opening rate of the bypass valve 61 is controlled by a pulse ISCapplied thereto through the AND gate 1144 from a control circuit 1142(hereinafter called ISCC). ISCC 1142 has a register ISCD for setting apulse duration and a register ISCP for setting a pulse period.

An EGR amount control pulse generator circuit (hereinafter called EGRC)1178 for controlling the EGR control valve 90 includes a register EGRDfor setting a value representing a duty cycle of the pulse and aregister EGRP for setting a value representing a pulse period. Theoutput pulse EGR of this EGRC is applied through the AND gate 1156 to atransistor 90.

The 1-bit input/output signal, on the other hand, is controlled by thecircuit DIO 128. Input signals include the IDLE-SW signal, the START-SWsignal and the TOP-SW signal, while the output signals include a pulseoutput signal for driving the fuel pump. This DIO includes a registerDDR 192 for determining whether or not a terminal is used as an inputterminal and the register DOUT 194 for latching the output data.

A mode register (hereinafter called MOD) 1160 is for holding commandsfor specifying various conditions in the input/output circuit 108. Bysetting a command in this mode register 1160, for example, all the ANDgates 1136, 1140, 1144 and 1156 can be actuated or deactivated asdesired. It is thus possible to control the start and stop of the outputof the INJC, IGNC and ISCC by setting a command in the MOD register1160.

DIO 128 produces a signal DIO1 for controlling the fuel pump 32.

We claim:
 1. In a method of controlling fuel injection in an internalcombustion engine wherein the fuel injection timing for operation of afuel injector is based at least on a basic fuel injection time and asteady-state compensation factor which is stored in memory for each of aplurality of operating regions formed by a range of values of at leasttwo predetermined engine conditions, a method of controlling fuelinjection during acceleration of the engine, comprising the steps of:(a)detecting whether said internal combustion engine is in a state ofacceleration; (b) if said internal combustion engine is in a state ofacceleration, detecting whether the air/fuel ratio has exceeded apredetermined upper limit value; (c) if the air/fuel ratio has exceededa predetermined upper limit value while the internal combustion engineis in a state of acceleration, storing in an acceleration table atransient compensation factor having a value related to the amount bywhich the air/fuel ratio exceeds said predetermined upper limit value,said transient compensation factor being stored at a storage location insaid acceleration table identified by at least two predetermined engineconditions; and (d) determining the fuel injection timing duringacceleration of said internal combustion engine on the basis of saidbasic fuel injection time, a steady-state compensation factor obtainedfrom memory and a transient compensation factor read out of a storagelocation of said acceleration table according to said two predeterminedengine conditions.
 2. A method according to claim 1, wherein said stepof detecting whether said internal combustion engine is in a state ofacceleration is effected by monitoring at least one operating conditionof the engine.
 3. A method according to claim 2, wherein said operatingcondition monitored to detect state of acceleration is the rate ofchange of the basic fuel injection time.
 4. A method according to claim1, wherein values of said transient compensation factor are stored insaid acceleration table on the basis of engine speed and engine load. 5.A method according to claim 1, wherein said basic fuel injection time isdetermined from intake air quantity and engine speed.
 6. In a method ofcontrolling fuel injection in an internal combustion engine wherein thefuel injection timing for operation of a fuel injector is based at leaston a basic fuel injection time and a steady-state compensation factorwhich is stored in memory for each of a plurality of operating regionsformed by a range of values of at least two predetermined engineconditions, a method of controlling fuel injection during decelerationof the engine, comprising the steps of:(a) detecting whether saidinternal combustion engine is in a state of deceleration; (b) if saidinternal combustion engine is in a state of deceleration; detectingwhether the air/fuel ratio has exceeded a predetermined lower limitvalue; (c) if the air/fuel ratio has exceeded a predetermined lowerlimit value while the internal combustion engine is in a state ofdeceleration, storing in a deceleration table a transient compensationfactor having a value related to the amount by which the air/fuel ratioexceeds said predetermined lower limit value, said transientcompensation factor being stored in said deceleration table at a storagelocation identified by at least two predetermined engine conditions; and(d) determining the fuel injection timing during deceleration of saidinternal combustion engine on the basis of said basis fuel injectiontime, a steady-state compensation factor obtained from memory and atransient compensation factor read out of a storage location of saiddeceleration table according to said two predetermined engineconditions.
 7. A method according to claim 6, wherein said step ofdetecting whether said internal combustion engine is in a state ofdeceleration is effected by monitoring at least one operating conditionsof the engine.
 8. A method according to claim 7, wherein said operatingcondition monitored to detect state of deceleration is the rate ofchange of the basic fuel injection time.
 9. A method according to claim6, further including the steps of:(h) during deceleration of the engine,detecting when the basic fuel injection time is shorter than apredetermined basic fuel injection time for an idling condition of theengine; and (i) subtracting from the fuel injection timing apredetermined shift factor so as to compensate for sudden decelerationof the engine.
 10. A method according to claim 9, wherein saidpredetermined shift factor is determined by the difference between anair/fuel ratio compensation factor and 1.0 and values of saidpredetermined shift factor are stored in storage locations identified byat least two predetermined engine conditions.
 11. A method according toclaim 6, wherein values of said transient compensation factor are storedin said acceleration table and said deceleration table on the basis ofengine speed and engine load.
 12. A method according to claim 6, whereinsaid basic fuel injection time is determined from intake air quantityand engine speed.
 13. In a method of controlling fuel injection in aninternal combustion engine wherein the fuel injection timing foroperation of a fuel injector is based at least on a basic fuel injectiontime and a steady-state compensation factor which is stored in memoryfor each of a plurality of operating regions formed by a range of valuesof at least two predetermined engine conditions, a method of controllingfuel injection during acceleration or deceleration of the engine,comprising the steps of:(a) detecting whether said internal combustionengine is in a state of acceleration or deceleration; (b) if saidinternal combustion engine is in a state of acceleration, detectingwhether the air/fuel ratio has exceeded a predetermined upper limitvalue; (c) if the air/fuel ratio has exceeded a predetermined upperlimit value while the internal combustion engine is in a state ofacceleration, storing in an acceleration table a transient compensationfactor having a value related to the amount by which the air/fuel ratioexceeds said predetermined upper limit value, said transientcompensation factor being stored at a storage location in saidacceleration table identified by at least two predetermined engineconditions; (d) if said internal combustion engine is in a state ofdeceleration; detecting whether the air/fuel ratio has exceeded apredetermined lower limit value; (e) if the air/fuel ratio has exceededa predetermined lower limit value while the internal combustion engineis in a state of deceleration, storing in a deceleration table atransient compensation factor having a value related to the amount bywhich the air/fuel ratio exceeds said predetermined lower limit value,said transient compensation factor being stored in said decelerationtable at a storage location identified by at least two predeterminedengine conditions; (f) determining the fuel injection timing duringacceleration of said internal combustion engine on the basis of saidbasic fuel injection time, a steady-state compensation factor obtainedfrom memory and a transient compensation factor read out of a storagelocation of said acceleration table according to said two predeterminedengine conditions; and (g) determining the fuel injection timing duringdeceleration of said internal combustion engine on the basis of saidbasic fuel injection time, a steady-state compensation factor obtainedfrom memory and a transient compensation factor read out of a storagelocation of said deceleration table according to said two predeterminedengine conditions.
 14. A method according to claim 13, wherein said stepof detecting whether said internal combustion engine is in a state ofacceleration or deceleration is effected by monitoring at least oneoperating condition of the engine.
 15. A method according to claim 13,wherein said operating condition monitored to detect state ofacceleration or deceleration is the rate of change of the basic fuelinjection time.
 16. A method according to claim 13, further includingthe steps of:(h) during deceleration of the engine, detecting when thebasic fuel injection time is shorter than a predetermined basic fuelinjection time for an idling condition of the engine; and (i)subtracting from the fuel injection timing a predetermined shift factorso as to compensate for sudden deceleration of the engine.
 17. A methodaccording to claim 16, wherein said predetermined shift factor isdetermined by the difference between an air/fuel ratio compensationfactor and 1.0 and values of said predetermined shift factor are storedin storage locations identified by at least two predetermined engineconditions.
 18. A method according to claim 13, wherein values of saidtransient compensation factor are stored in said acceleration table andsaid deceleration table on the basis of engine speed and engine load.19. A method according to claim 13, wherein said basic fuel injectiontime is determined from intake air quantity and engine speed.